/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package persistencia;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 *
 */
public class Uteis {

        /**
	 * Converte uma String para um objeto Date. Caso a String seja vazia ou nula,
	 * retorna null - para facilitar em casos onde formulários podem ter campos
	 * de datas vazios.
	 * @param data String no formato dd/MM/yyyy a ser formatada
	 * @return Date Objeto Date ou null caso receba uma String vazia ou nula
	 * @throws Exception Caso a String esteja no formato errado
	 */
	public static Date formataData(String data) throws Exception {
		if (data == null || data.equals(""))
			return null;

        //  dd/mm/yyyy  -> yyyy/mm/dd
        Date date = null;
        try {
            DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
            date = (java.util.Date)formatter.parse(data);
        } catch (ParseException e) {
            throw e;
        }
        return date;
	}

  public String somarDatas(String dataAtual, int n){

        int dia, mes, ano, diaA, mesA, anoA;
        String dataFinal;
        String [] vetor; String linha = dataAtual;
        vetor = linha.split("-");
        diaA = Integer.parseInt(vetor[2]);
        mesA = Integer.parseInt(vetor[1]);
        anoA = Integer.parseInt(vetor[0]);

        dia = diaA+n;
        mes = mesA;
        ano = anoA;
        if ( dia > 30) {
            dia = dia-30;
            mes = mesA+1;
            if (mes > 12 && mes < 24) {
                mes = mes-12;
                ano = anoA+1;
            }
        }
        dataFinal = ano+"-"+mes+"-"+dia;
        return dataFinal;
    }

}
